When distributing software to a large number of computers (e.g., a large computing cluster within a data center), the software must install correctly with a high degree of reliability. Small differences in versions of code (e.g., operating systems or libraries) between a development system and a deployment system can cause indeterminate errors when building and operating software, creating a problem for installation of software on a wide variety of systems.